const express = require('express'); // 引入 Express 框架
const Core = require('@alicloud/pop-core');
var router = express.Router();
// const { UserModel } = require('../../model/model')
const app = express();
app.use(express.json());

// 存储验证码的临时对象，实际项目中应该使用Redis等缓存服务
const verificationCodes = {};

const client = new Core({ // 创建 Client 对象
    accessKeyId: 'LTAI5tR2o9fSmvEYbTqPsiya', // 替换成自己的 AccessKey ID
    accessKeySecret: 'HpFdHky9JiIB8BzZYgRsib7oMUprft', // 替换成自己的 AccessKey Secret
    endpoint: 'https://dysmsapi.aliyuncs.com', // API 访问入口，根据实际情况修改
    apiVersion: '2017-05-25' // API 版本号，根据实际情况修改
});
function generateCode() {
    const code = Math.floor(Math.random() * (9999 - 1000 + 1)) + 1000;
    return code.toString();
}
router.post('/yzm', (req, res) => {
    // console.log(req.body)
    const code = generateCode(); // 生成验证码
    const phoneNumber = req.body.phone; // 获取手机号码
    // console.log(phoneNumber)
 
    // 存储验证码，设置1分钟过期
    verificationCodes[phoneNumber] = {
        code: code,
        expireTime: Date.now() + 1 * 60 * 1000 // 1分钟后过期
    };

    console.log('存储的验证码:', verificationCodes);

    const params = {
        "RegionId": "cn-hangzhou", // 短信服务所在区域，可以参考阿里云文档
        "PhoneNumbers": phoneNumber, // 目标手机号码
        "SignName": "阿里云短信测试", // 短信签名名称，需先在阿里云控制台中申请审核通过
        "TemplateCode": "SMS_154950909", // 短信模板 CODE，需先在阿里云控制台中申请审核通过
        "TemplateParam": JSON.stringify({ // 短信模板参数，为 JSON 字符串格式
            "code": code // 模板中的变量名和对应的值
        })
    };
    const requestOption = { // 设置请求超时时间等选项
        method: 'POST',
        timeout: 5000
    };
    // 调用 SendSms 方法发送短信
    client.request('SendSms', params, requestOption).then((result) => {
        // console.log(result, 1111); // 打印发送结果
        res.status(200).json({ // 返回状态码和生成的验证码
            msg: '验证码已发送，请注意查收！',
            code: code
        });
    }, (ex) => {
        console.log(ex); // 打印异常信息
        res.status(500).json({ // 返回错误状态码和错误信息
            msg: '短信发送失败，请稍后重试！'
        });
    });
});

// router.post('/phonelogin', async (req, res) => {
//     const { phone, code } = req.body;
//     console.log('登录请求:', req.body);
//   //查询用户
//     try {
//         const user = await UserModel.findOne({ "phone": phone });
//         console.log("user", user);
//         if (user) {
//             // 用户存在，登录成功
//             res.send({
//                 msg: '登录成功！',
//                 data: user
//             });
//         } else {
//             // 用户不存在，可以自动注册或返回错误
//             res.status(404).json({
//                 msg: '用户不存在，请先注册'
//             });
//         }
//     } catch (error) {
//         console.error("登录错误:", error);
//         res.status(500).json({
//             msg: '服务器错误，请稍后重试'
//         });
//     }
// });

// // 添加一个测试路由，用于调试
// router.get('/test', (req, res) => {
//     res.status(200).json({
//         msg: '测试路由成功',
//         codes: verificationCodes
//     });
// });

module.exports = router;